Multicasting is a form of communication that allows a source device to send a single packet to a network for distribution to multiple destination endpoints. The network usually includes at least one multicast-enabled router or other switching device capable of replicating the packet and forwarding the replicated packets towards the multiple destination endpoints.
Multicast-enabled routers typically include a centralized controller to replicate received packets, and one or more outbound interfaces to forward the packet and its copies towards destination endpoints over various data links. To reduce congestion over the data links, the centralized controller can implement various quality-of-service (QoS) features, such as packet scheduling and packet shaping, which can control the flow of replicated packets from the outbound interfaces.
As multicasting becomes more prevalent, such as in video-on-demand (VOD) and Internet Protocol Television (IPTV) applications, multicast packet traffic will consume routing resources increasingly. For instance, a backplane of the router can become heavily utilized when transferring replicated packets from the centralized controller to the outbound interfaces. In an attempt to preserve backplane bandwidth, some system designers have pushed multicast replication and the associated quality of service features to the processors on the outbound interfaces of the routers. Although this distributed router configuration helps to reduce bandwidth consumption of the backplane, it comes with a dramatically increased interface cost and with a loss of centralized quality of service control.